package com.sws.push.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sws.customer.domain.RyCustomer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sws.common.annotation.Excel;
import com.sws.common.core.domain.BaseEntity;

/**
 * 消费记录对象 ry_consumption
 *
 * @author ruoyi
 * @date 2025-06-24
 */
public class RyConsumption extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 关联customer.id */
    @Excel(name = "关联customer.id")
    private Long customerId;

//    private List<Long> customerIds;

    /** 类型(0:服务 1:产品) */
    @Excel(name = "类型(0:服务 1:产品)")
    private Long itemType;

    /** 项目/产品名称 */
    @Excel(name = "项目/产品名称")
    private String itemName;

    /** 类别(0护肤/1美体/2仪器) */
    @Excel(name = "类别(0护肤/1美体/2仪器)")
    private Long category;

    /** 积累消费金额 */
    @Excel(name = "积累消费金额")
    private BigDecimal amount;

    /** 消费折扣率(0.00-1.00) */
    @Excel(name = "消费折扣率(0.00-1.00)")
    private BigDecimal discountRate;

    /** 消费时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "消费时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date consumptionTime;

    /** 删除标志(0存在,1删除) */
    private Long delFlag;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }

    public void setItemType(Long itemType)
    {
        this.itemType = itemType;
    }

    public Long getItemType()
    {
        return itemType;
    }

    public void setItemName(String itemName)
    {
        this.itemName = itemName;
    }

    public String getItemName()
    {
        return itemName;
    }

    public void setCategory(Long category)
    {
        this.category = category;
    }

    public Long getCategory()
    {
        return category;
    }

    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }

    public void setDiscountRate(BigDecimal discountRate)
    {
        this.discountRate = discountRate;
    }

    public BigDecimal getDiscountRate()
    {
        return discountRate;
    }

    public void setConsumptionTime(Date consumptionTime)
    {
        this.consumptionTime = consumptionTime;
    }

    public Date getConsumptionTime()
    {
        return consumptionTime;
    }

    public void setDelFlag(Long delFlag)
    {
        this.delFlag = delFlag;
    }

    public Long getDelFlag()
    {
        return delFlag;
    }

//    public List<Long> getCustomerIds() {
//        return customerIds;
//    }
//
//    public void setCustomerIds(List<Long> customerIds) {
//        this.customerIds = customerIds;
//    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("customerId", getCustomerId())
            .append("itemType", getItemType())
            .append("itemName", getItemName())
            .append("category", getCategory())
            .append("amount", getAmount())
            .append("discountRate", getDiscountRate())
            .append("consumptionTime", getConsumptionTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
